Syncthing est une application de synchronisation de fichiers gratuite et open-source utilisée pour synchroniser des fichiers entre plusieurs appareils distants sur Internet. Elle fonctionne sur une architecture peer-to-peer et échange les données automatiquement entre deux appareils. Elle vous aide à garder les fichiers et les répertoires synchronisés en temps réel. Toutes les transmissions de données entre plusieurs appareils sont sécurisées et cryptées avec TLS. Il dispose de clients pour Linux, Windows et macOS. Il dispose également d'une application Android pour la synchronisation depuis et vers les smartphones !
Dans ce billet, nous allons vous montrer comment installer le logiciel de synchronisation de fichiers Syncthing sur un serveur Debian 11.
Sommaire
Comment installer le logiciel de synchronisation de fichiers à distance Syncthing sur Debian 11
Installer Syncthing sur Debian 11
Créer un fichier de service Systemd pour Syncthing
Définir le mot de passe de l'administrateur de Syncthing
Ajouter chaque serveur à un autre serveur
Création et partage d'un dossier
- Deux serveurs fonctionnant sous Debian 11.
- Un mot de passe root est configuré sur chaque serveur.
Par défaut, Syncthing n'est pas inclus dans le dépôt par défaut de Debian 11. Vous devrez donc ajouter le dépôt de Syncthing sur les deux serveurs.
Tout d'abord, installez les dépendances requises en utilisant la commande suivante :
apt-get install gnupg2 curl apt-transport-https -y
Ensuite, téléchargez et ajoutez la clé GPG avec la commande suivante :
curl -s https://syncthing.net/release-key.txt | apt-key add -
Ensuite, ajoutez le dépôt de Syncthing à APT avec la commande suivante :
echo "deb https://apt.syncthing.net/ syncthing release" > /etc/apt/sources.list.d/syncthing.list
Ensuite, mettez à jour le référentiel avec la commande suivante :
apt-get update -y
À ce stade, le dépôt de Syncthing est ajouté sur les deux serveurs. Maintenant, exécutez la commande suivante sur les deux serveurs pour installer Syncthing.
apt-get install syncthing -y
Une fois que le Syncthing est installé, vérifiez la version du Syncthing en utilisant la commande suivante :
syncthing --version
Vous obtiendrez le résultat suivant :
syncthing v1.18.6 "Fermium Flea" (go1.17.6 linux-amd64) deb@build.syncthing.net 2021-12-30 12:07:01 UTC [noupgrade]
Ensuite, vous devrez créer un fichier de service systemd sur les deux serveurs pour gérer le Syncthing. Vous pouvez le créer avec la commande suivante :
nano /etc/systemd/system/syncthing@.service
Ajoutez les lignes suivantes :
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
[Service]
User=%i
ExecStart=/usr/bin/syncthing -no-browser -gui-address="0.0.0.0:8384" -no-restart -logflags=0
Restart=on-failure
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
[Install]
WantedBy=multi-user.target
Enregistrez et fermez le fichier lorsque vous avez terminé. Ensuite, rechargez le démon systemd pour appliquer les changements.
systemctl daemon-reload
Ensuite, démarrez le service Syncthing avec la commande suivante :
systemctl start syncthing@root
Ensuite, vérifiez l'état du Syncthing en utilisant la commande suivante :
systemctl status syncthing@root
Vous obtiendrez le résultat suivant :
? syncthing@root.service - Syncthing - Open Source Continuous File Synchronization for root
Loaded: loaded (/etc/systemd/system/syncthing@.service; disabled; vendor preset: enabled)
Active: active (running) since Mon 2022-01-31 02:28:35 UTC; 11s ago
Docs: man:syncthing(1)
Main PID: 2746 (syncthing)
Tasks: 14 (limit: 2341)
Memory: 56.3M
CPU: 1.661s
CGroup: /system.slice/system-syncthing.slice/syncthing@root.service
??2746 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
??2752 /usr/bin/syncthing -no-browser -gui-address=0.0.0.0:8384 -no-restart -logflags=0
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: QUIC listener ([::]:22000) starting
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Loading HTTPS certificate: open /root/.config/syncthing/https-cert.pem: no such file o>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Creating new HTTPS certificate
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Completed initial scan of sendreceive folder "Default Folder" (default)
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: GUI and API listening on [::]:8384
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: Access the GUI via the following URL: http://127.0.0.1:8384/
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: My name is "server1"
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] WARNING: Syncthing should not run as a privileged or system user. Please consider using a no>
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 detected NAT type: Not behind a NAT
Jan 31 02:28:36 server1 syncthing[2746]: [6F5DY] INFO: quic://0.0.0.0:22000 resolved external address quic://69.87.219.167:22000 (via stun.sy>
Par défaut, Syncthing écoute sur le port 8384. Vous pouvez le vérifier avec la commande suivante :
ss -antpl | grep 8384
Vous obtiendrez le résultat suivant :
LISTEN 0 4096 *:8384 *:* users:(("syncthing",pid=2752,fd=28))
A ce stade, Syncthing est installé et fonctionne sur les deux serveurs. Maintenant, vous devez accéder à l'interface web de Syncthing et définir un mot de passe administrateur.
Pour définir le mot de passe administrateur du premier serveur, ouvrez votre navigateur web et accédez-y en utilisant l'URL http://first-server-ip:8384. Vous devriez voir l'écran suivant :
Cliquez sur le bouton Paramètres. Vous devriez voir l'écran suivant :
Dans l'onglet GUI, définissez votre nom d'utilisateur admin, votre mot de passe et cliquez sur le bouton Save pour appliquer les changements. Vous serez redirigé vers la page de connexion de Syncthing :
Fournissez votre nom d'utilisateur admin, votre mot de passe, et cliquez sur le bouton Sign in. Vous devriez voir le tableau de bord de Syncthing sur l'écran suivant :
Pour définir le mot de passe administrateur du second serveur, ouvrez votre navigateur web et accédez-y en utilisant l'URL http://second-server-ip:8384. Vous devriez voir l'écran suivant :
Cliquez sur le bouton Paramètres. Vous devriez voir l'écran suivant :
Dans l'onglet GUI, définissez votre nom d'utilisateur admin, votre mot de passe et cliquez sur le bouton Save pour appliquer les changements. Vous serez redirigé vers la page de connexion de Syncthing :
Fournissez votre nom d'utilisateur admin, votre mot de passe et cliquez sur le bouton Sign in. Vous devriez voir le tableau de bord de Syncthing dans l'écran suivant :
Ensuite, vous devrez localiser l'ID du périphérique de chaque serveur et l'ajouter à un autre serveur afin de synchroniser les fichiers entre les deux serveurs.
Sur le tableau de bord du premier serveur, cliquez sur Actions > Show ID pour localiser l'ID du périphérique. Vous devriez voir l'écran suivant :
Sur le tableau de bord du second serveur, cliquez sur Actions > Afficher l'ID pour localiser l'ID du périphérique. L'écran suivant devrait s'afficher :
Sur le premier serveur, cliquez sur le bouton de fermeture. Vous devriez voir l'écran suivant :
Maintenant, cliquez sur le bouton Ajouter un périphérique distant. L'écran suivant devrait s'afficher :
Indiquez l'ID du périphérique et le nom du deuxième serveur, puis cliquez sur le bouton Enregistrer. Une fois le périphérique ajouté, l'écran suivant s'affiche :
Sur le deuxième serveur, cliquez sur Add Remote Device. L'écran suivant s'affiche :
Indiquez l'ID et le nom du dispositif du premier serveur et cliquez sur le bouton Save (Enregistrer). L'écran suivant s'affiche :
Ensuite, vous devrez ajouter et partager le dossier sur le premier serveur que vous voulez synchroniser avec le deuxième serveur.
Sur le premier serveur, cliquez sur le bouton Add Folder. Vous devriez voir l'écran suivant :
Indiquez le nom et le chemin d'accès de votre dossier, puis cliquez sur l'onglet Partage. Vous devriez voir l'écran suivant :
Cochez la case du deuxième serveur et cliquez sur le bouton Enregistrer. L'écran suivant s'affiche :
Ensuite, allez sur le deuxième serveur et cliquez sur le bouton Rescan All. Vous devriez voir l'écran suivant :
Cliquez sur Add pour ajouter le dossier partagé sur le premier serveur. Vous devriez voir l'écran suivant :
Cliquez sur le bouton Save pour appliquer les changements. Vous devriez voir l'écran suivant :
À ce stade, les deux serveurs sont configurés pour synchroniser les fichiers entre eux. Chaque fois que vous créez ou modifiez des fichiers dans le dossier partagé sur le premier serveur, ils seront synchronisés automatiquement sur le second serveur.